home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-ALPH.{_4 / UNISTD.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  18KB  |  595 lines

  1. #ifndef _ALPHA_UNISTD_H
  2. #define _ALPHA_UNISTD_H
  3.  
  4. #define __NR_osf_syscall      0    /* not implemented */
  5. #define __NR_exit          1
  6. #define __NR_fork          2
  7. #define __NR_read          3
  8. #define __NR_write          4
  9. #define __NR_osf_old_open      5    /* not implemented */
  10. #define __NR_close          6
  11. #define __NR_osf_wait4          7
  12. #define __NR_osf_old_creat      8    /* not implemented */
  13. #define __NR_link          9
  14. #define __NR_unlink         10
  15. #define __NR_osf_execve         11    /* not implemented */
  16. #define __NR_chdir         12
  17. #define __NR_fchdir         13
  18. #define __NR_mknod         14
  19. #define __NR_chmod         15
  20. #define __NR_chown         16
  21. #define __NR_brk         17
  22. #define __NR_osf_getfsstat     18    /* not implemented */
  23. #define __NR_lseek         19
  24. #define __NR_getxpid         20
  25. #define __NR_osf_mount         21
  26. #define __NR_umount         22
  27. #define __NR_setuid         23
  28. #define __NR_getxuid         24
  29. #define __NR_exec_with_loader     25    /* not implemented */
  30. #define __NR_ptrace         26
  31. #define __NR_osf_nrecvmsg     27    /* not implemented */
  32. #define __NR_osf_nsendmsg     28    /* not implemented */
  33. #define __NR_osf_nrecvfrom     29    /* not implemented */
  34. #define __NR_osf_naccept     30    /* not implemented */
  35. #define __NR_osf_ngetpeername     31    /* not implemented */
  36. #define __NR_osf_ngetsockname     32    /* not implemented */
  37. #define __NR_access         33
  38. #define __NR_osf_chflags     34    /* not implemented */
  39. #define __NR_osf_fchflags     35    /* not implemented */
  40. #define __NR_sync         36
  41. #define __NR_kill         37
  42. #define __NR_osf_old_stat     38    /* not implemented */
  43. #define __NR_setpgid         39
  44. #define __NR_osf_old_lstat     40    /* not implemented */
  45. #define __NR_dup         41
  46. #define __NR_pipe         42
  47. #define __NR_osf_set_program_attributes    43
  48. #define __NR_osf_profil         44    /* not implemented */
  49. #define __NR_open         45
  50. #define __NR_osf_old_sigaction     46    /* not implemented */
  51. #define __NR_getxgid         47
  52. #define __NR_osf_sigprocmask     48
  53. #define __NR_osf_getlogin     49    /* not implemented */
  54. #define __NR_osf_setlogin     50    /* not implemented */
  55. #define __NR_acct         51
  56. #define __NR_sigpending         52
  57.  
  58. #define __NR_ioctl         54
  59. #define __NR_osf_reboot         55    /* not implemented */
  60. #define __NR_osf_revoke         56    /* not implemented */
  61. #define __NR_symlink         57
  62. #define __NR_readlink         58
  63. #define __NR_execve         59
  64. #define __NR_umask         60
  65. #define __NR_chroot         61
  66. #define __NR_osf_old_fstat     62    /* not implemented */
  67. #define __NR_getpgrp         63
  68. #define __NR_getpagesize     64
  69. #define __NR_osf_mremap         65    /* not implemented */
  70. #define __NR_vfork         66
  71. #define __NR_stat         67
  72. #define __NR_lstat         68
  73. #define __NR_osf_sbrk         69    /* not implemented */
  74. #define __NR_osf_sstk         70    /* not implemented */
  75. #define __NR_mmap         71    /* OSF/1 mmap is superset of Linux */
  76. #define __NR_osf_old_vadvise     72    /* not implemented */
  77. #define __NR_munmap         73
  78. #define __NR_mprotect         74
  79. #define __NR_madvise         75
  80. #define __NR_vhangup         76
  81. #define __NR_osf_kmodcall     77    /* not implemented */
  82. #define __NR_osf_mincore     78    /* not implemented */
  83. #define __NR_getgroups         79
  84. #define __NR_setgroups         80
  85. #define __NR_osf_old_getpgrp     81    /* not implemented */
  86. #define __NR_setpgrp         82    /* BSD alias for setpgid */
  87. #define __NR_osf_setitimer     83
  88. #define __NR_osf_old_wait     84    /* not implemented */
  89. #define __NR_osf_table         85    /* not implemented */
  90. #define __NR_osf_getitimer     86
  91. #define __NR_gethostname     87
  92. #define __NR_sethostname     88
  93. #define __NR_getdtablesize     89
  94. #define __NR_dup2         90
  95. #define __NR_fstat         91
  96. #define __NR_fcntl         92
  97. #define __NR_osf_select         93
  98. #define __NR_poll         94
  99. #define __NR_fsync         95
  100. #define __NR_setpriority     96
  101. #define __NR_socket         97
  102. #define __NR_connect         98
  103. #define __NR_accept         99
  104. #define __NR_getpriority    100
  105. #define __NR_send        101
  106. #define __NR_recv        102
  107. #define __NR_sigreturn        103
  108. #define __NR_bind        104
  109. #define __NR_setsockopt        105
  110. #define __NR_listen        106
  111. #define __NR_osf_plock        107    /* not implemented */
  112. #define __NR_osf_old_sigvec    108    /* not implemented */
  113. #define __NR_osf_old_sigblock    109    /* not implemented */
  114. #define __NR_osf_old_sigsetmask    110    /* not implemented */
  115. #define __NR_sigsuspend        111
  116. #define __NR_osf_sigstack    112
  117. #define __NR_recvmsg        113
  118. #define __NR_sendmsg        114
  119. #define __NR_osf_old_vtrace    115    /* not implemented */
  120. #define __NR_osf_gettimeofday    116
  121. #define __NR_osf_getrusage    117
  122. #define __NR_getsockopt        118
  123.  
  124. #define __NR_readv        120
  125. #define __NR_writev        121
  126. #define __NR_osf_settimeofday    122
  127. #define __NR_fchown        123
  128. #define __NR_fchmod        124
  129. #define __NR_recvfrom        125
  130. #define __NR_setreuid        126
  131. #define __NR_setregid        127
  132. #define __NR_rename        128
  133. #define __NR_truncate        129
  134. #define __NR_ftruncate        130
  135. #define __NR_flock        131
  136. #define __NR_setgid        132
  137. #define __NR_sendto        133
  138. #define __NR_shutdown        134
  139. #define __NR_socketpair        135
  140. #define __NR_mkdir        136
  141. #define __NR_rmdir        137
  142. #define __NR_osf_utimes        138
  143. #define __NR_osf_old_sigreturn    139    /* not implemented */
  144. #define __NR_osf_adjtime    140    /* not implemented */
  145. #define __NR_getpeername    141
  146. #define __NR_osf_gethostid    142    /* not implemented */
  147. #define __NR_osf_sethostid    143    /* not implemented */
  148. #define __NR_getrlimit        144
  149. #define __NR_setrlimit        145
  150. #define __NR_osf_old_killpg    146    /* not implemented */
  151. #define __NR_setsid        147
  152. #define __NR_quotactl        148
  153. #define __NR_osf_oldquota    149    /* not implemented */
  154. #define __NR_getsockname    150
  155.  
  156. #define __NR_osf_pid_block    153    /* not implemented */
  157. #define __NR_osf_pid_unblock    154    /* not implemented */
  158.  
  159. #define __NR_sigaction        156
  160. #define __NR_osf_sigwaitprim    157    /* not implemented */
  161. #define __NR_osf_nfssvc        158    /* not implemented */
  162. #define __NR_osf_getdirentries    159
  163. #define __NR_osf_statfs        160
  164. #define __NR_osf_fstatfs    161
  165.  
  166. #define __NR_osf_asynch_daemon    163    /* not implemented */
  167. #define __NR_osf_getfh        164    /* not implemented */    
  168. #define __NR_osf_getdomainname    165
  169. #define __NR_setdomainname    166
  170.  
  171. #define __NR_osf_exportfs    169    /* not implemented */
  172.  
  173. #define __NR_osf_alt_plock    181    /* not implemented */
  174.  
  175. #define __NR_osf_getmnt        184    /* not implemented */
  176.  
  177. #define __NR_osf_alt_sigpending    187    /* not implemented */
  178. #define __NR_osf_alt_setsid    188    /* not implemented */
  179.  
  180. #define __NR_osf_swapon        199
  181. #define __NR_msgctl        200
  182. #define __NR_msgget        201
  183. #define __NR_msgrcv        202
  184. #define __NR_msgsnd        203
  185. #define __NR_semctl        204
  186. #define __NR_semget        205
  187. #define __NR_semop        206
  188. #define __NR_osf_utsname    207
  189. #define __NR_lchown        208
  190. #define __NR_osf_shmat        209
  191. #define __NR_shmctl        210
  192. #define __NR_shmdt        211
  193. #define __NR_shmget        212
  194. #define __NR_osf_mvalid        213    /* not implemented */
  195. #define __NR_osf_getaddressconf    214    /* not implemented */
  196. #define __NR_osf_msleep        215    /* not implemented */
  197. #define __NR_osf_mwakeup    216    /* not implemented */
  198. #define __NR_msync        217
  199. #define __NR_osf_signal        218    /* not implemented */
  200. #define __NR_osf_utc_gettime    219    /* not implemented */
  201. #define __NR_osf_utc_adjtime    220    /* not implemented */
  202.  
  203. #define __NR_osf_security    222    /* not implemented */
  204. #define __NR_osf_kloadcall    223    /* not implemented */
  205.  
  206. #define __NR_getpgid        233
  207. #define __NR_getsid        234
  208. #define __NR_sigaltstack    235
  209. #define __NR_osf_waitid        236    /* not implemented */
  210. #define __NR_osf_priocntlset    237    /* not implemented */
  211. #define __NR_osf_sigsendset    238    /* not implemented */
  212. #define __NR_osf_set_speculative    239    /* not implemented */
  213. #define __NR_osf_msfs_syscall    240    /* not implemented */
  214. #define __NR_osf_sysinfo    241
  215. #define __NR_osf_uadmin        242    /* not implemented */
  216. #define __NR_osf_fuser        243    /* not implemented */
  217. #define __NR_osf_proplist_syscall    244
  218. #define __NR_osf_ntp_adjtime    245    /* not implemented */
  219. #define __NR_osf_ntp_gettime    246    /* not implemented */
  220. #define __NR_osf_pathconf    247    /* not implemented */
  221. #define __NR_osf_fpathconf    248    /* not implemented */
  222.  
  223. #define __NR_osf_uswitch    250    /* not implemented */
  224. #define __NR_osf_usleep_thread    251
  225. #define __NR_osf_audcntl    252    /* not implemented */
  226. #define __NR_osf_audgen        253    /* not implemented */
  227. #define __NR_sysfs        254
  228. #define __NR_osf_subsys_info    255    /* not implemented */
  229. #define __NR_osf_getsysinfo    256
  230. #define __NR_osf_setsysinfo    257
  231. #define __NR_osf_afs_syscall    258    /* not implemented */
  232. #define __NR_osf_swapctl    259    /* not implemented */
  233. #define __NR_osf_memcntl    260    /* not implemented */
  234. #define __NR_osf_fdatasync    261    /* not implemented */
  235.  
  236.  
  237. /*
  238.  * Linux-specific system calls begin at 300
  239.  */
  240. #define __NR_bdflush        300
  241. #define __NR_sethae        301
  242. #define __NR_mount        302
  243. #define __NR_old_adjtimex    303
  244. #define __NR_swapoff        304
  245. #define __NR_getdents        305
  246. #define __NR_create_module    306
  247. #define __NR_init_module    307
  248. #define __NR_delete_module    308
  249. #define __NR_get_kernel_syms    309
  250. #define __NR_syslog        310
  251. #define __NR_reboot        311
  252. #define __NR_clone        312
  253. #define __NR_uselib        313
  254. #define __NR_mlock        314
  255. #define __NR_munlock        315
  256. #define __NR_mlockall        316
  257. #define __NR_munlockall        317
  258. #define __NR_sysinfo        318
  259. #define __NR__sysctl        319
  260. #define __NR_idle        320
  261. #define __NR_oldumount        321
  262. #define __NR_swapon        322
  263. #define __NR_times        323
  264. #define __NR_personality    324
  265. #define __NR_setfsuid        325
  266. #define __NR_setfsgid        326
  267. #define __NR_ustat        327
  268. #define __NR_statfs        328
  269. #define __NR_fstatfs        329
  270. #define __NR_sched_setparam        330
  271. #define __NR_sched_getparam        331
  272. #define __NR_sched_setscheduler        332
  273. #define __NR_sched_getscheduler        333
  274. #define __NR_sched_yield        334
  275. #define __NR_sched_get_priority_max    335
  276. #define __NR_sched_get_priority_min    336
  277. #define __NR_sched_rr_get_interval    337
  278. #define __NR_afs_syscall        338
  279. #define __NR_uname            339
  280. #define __NR_nanosleep            340
  281. #define __NR_mremap            341
  282. #define __NR_nfsservctl            342
  283. #define __NR_setresuid            343
  284. #define __NR_getresuid            344
  285. #define __NR_pciconfig_read        345
  286. #define __NR_pciconfig_write        346
  287. #define __NR_query_module        347
  288. #define __NR_prctl            348
  289. #define __NR_pread            349
  290. #define __NR_pwrite            350
  291. #define __NR_rt_sigreturn        351
  292. #define __NR_rt_sigaction        352
  293. #define __NR_rt_sigprocmask        353
  294. #define __NR_rt_sigpending        354
  295. #define __NR_rt_sigtimedwait        355
  296. #define __NR_rt_sigqueueinfo        356
  297. #define __NR_rt_sigsuspend        357
  298. #define __NR_select            358
  299. #define __NR_gettimeofday        359
  300. #define __NR_settimeofday        360
  301. #define __NR_getitimer            361
  302. #define __NR_setitimer            362
  303. #define __NR_utimes            363
  304. #define __NR_getrusage            364
  305. #define __NR_wait4            365
  306. #define __NR_adjtimex            366
  307. #define __NR_getcwd            367
  308. #define __NR_capget            368
  309. #define __NR_capset            369
  310. #define __NR_sendfile            370
  311.  
  312. #if defined(__LIBRARY__) && defined(__GNUC__)
  313.  
  314. #define _syscall_return(type)                        \
  315.     return (_sc_err ? errno = _sc_ret, _sc_ret = -1L : 0), (type) _sc_ret
  316.  
  317. #define _syscall_clobbers                        \
  318.     "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",            \
  319.     "$22", "$23", "$24", "$25", "$27", "$28"             \
  320.  
  321. #define _syscall0(type, name)                        \
  322. type name(void)                                \
  323. {                                    \
  324.     long _sc_ret, _sc_err;                        \
  325.     {                                \
  326.         register long _sc_0 __asm__("$0");            \
  327.         register long _sc_19 __asm__("$19");            \
  328.                                     \
  329.         _sc_0 = __NR_##name;                    \
  330.         __asm__("callsys # %0 %1 %2"                \
  331.             : "=r"(_sc_0), "=r"(_sc_19)            \
  332.             : "0"(_sc_0)                    \
  333.             : _syscall_clobbers);                \
  334.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  335.     }                                \
  336.     _syscall_return(type);                        \
  337. }
  338.  
  339. #define _syscall1(type,name,type1,arg1)                    \
  340. type name(type1 arg1)                            \
  341. {                                    \
  342.     long _sc_ret, _sc_err;                        \
  343.     {                                \
  344.         register long _sc_0 __asm__("$0");            \
  345.         register long _sc_16 __asm__("$16");            \
  346.         register long _sc_19 __asm__("$19");            \
  347.                                     \
  348.         _sc_0 = __NR_##name;                    \
  349.         _sc_16 = (long) (arg1);                    \
  350.         __asm__("callsys # %0 %1 %2 %3"                \
  351.             : "=r"(_sc_0), "=r"(_sc_19)            \
  352.             : "0"(_sc_0), "r"(_sc_16)            \
  353.             : _syscall_clobbers);                \
  354.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  355.     }                                \
  356.     _syscall_return(type);                        \
  357. }
  358.  
  359. #define _syscall2(type,name,type1,arg1,type2,arg2)            \
  360. type name(type1 arg1,type2 arg2)                    \
  361. {                                    \
  362.     long _sc_ret, _sc_err;                        \
  363.     {                                \
  364.         register long _sc_0 __asm__("$0");            \
  365.         register long _sc_16 __asm__("$16");            \
  366.         register long _sc_17 __asm__("$17");            \
  367.         register long _sc_19 __asm__("$19");            \
  368.                                     \
  369.         _sc_0 = __NR_##name;                    \
  370.         _sc_16 = (long) (arg1);                    \
  371.         _sc_17 = (long) (arg2);                    \
  372.         __asm__("callsys # %0 %1 %2 %3 %4"            \
  373.             : "=r"(_sc_0), "=r"(_sc_19)            \
  374.             : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17)        \
  375.             : _syscall_clobbers);                \
  376.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  377.     }                                \
  378.     _syscall_return(type);                        \
  379. }
  380.  
  381. #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)        \
  382. type name(type1 arg1,type2 arg2,type3 arg3)                \
  383. {                                    \
  384.     long _sc_ret, _sc_err;                        \
  385.     {                                \
  386.         register long _sc_0 __asm__("$0");            \
  387.         register long _sc_16 __asm__("$16");            \
  388.         register long _sc_17 __asm__("$17");            \
  389.         register long _sc_18 __asm__("$18");            \
  390.         register long _sc_19 __asm__("$19");            \
  391.                                     \
  392.         _sc_0 = __NR_##name;                    \
  393.         _sc_16 = (long) (arg1);                    \
  394.         _sc_17 = (long) (arg2);                    \
  395.         _sc_18 = (long) (arg3);                    \
  396.         __asm__("callsys # %0 %1 %2 %3 %4 %5"            \
  397.             : "=r"(_sc_0), "=r"(_sc_19)            \
  398.             : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),        \
  399.               "r"(_sc_18)                    \
  400.             : _syscall_clobbers);                \
  401.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  402.     }                                \
  403.     _syscall_return(type);                        \
  404. }
  405.  
  406. #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
  407. type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)         \
  408. {                                     \
  409.     long _sc_ret, _sc_err;                        \
  410.     {                                \
  411.         register long _sc_0 __asm__("$0");            \
  412.         register long _sc_16 __asm__("$16");            \
  413.         register long _sc_17 __asm__("$17");            \
  414.         register long _sc_18 __asm__("$18");            \
  415.         register long _sc_19 __asm__("$19");            \
  416.                                     \
  417.         _sc_0 = __NR_##name;                    \
  418.         _sc_16 = (long) (arg1);                    \
  419.         _sc_17 = (long) (arg2);                    \
  420.         _sc_18 = (long) (arg3);                    \
  421.         _sc_19 = (long) (arg4);                    \
  422.         __asm__("callsys # %0 %1 %2 %3 %4 %5 %6"        \
  423.             : "=r"(_sc_0), "=r"(_sc_19)            \
  424.             : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),        \
  425.               "r"(_sc_18), "1"(_sc_19)            \
  426.             : _syscall_clobbers);                \
  427.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  428.     }                                \
  429.     _syscall_return(type);                        \
  430.  
  431. #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
  432.       type5,arg5)                             \
  433. type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5)    \
  434. {                                    \
  435.     long _sc_ret, _sc_err;                        \
  436.     {                                \
  437.         register long _sc_0 __asm__("$0");            \
  438.         register long _sc_16 __asm__("$16");            \
  439.         register long _sc_17 __asm__("$17");            \
  440.         register long _sc_18 __asm__("$18");            \
  441.         register long _sc_19 __asm__("$19");            \
  442.         register long _sc_20 __asm__("$20");            \
  443.                                     \
  444.         _sc_0 = __NR_##name;                    \
  445.         _sc_16 = (long) (arg1);                    \
  446.         _sc_17 = (long) (arg2);                    \
  447.         _sc_18 = (long) (arg3);                    \
  448.         _sc_19 = (long) (arg4);                    \
  449.         _sc_20 = (long) (arg5);                    \
  450.         __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7"        \
  451.             : "=r"(_sc_0), "=r"(_sc_19)            \
  452.             : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),        \
  453.               "r"(_sc_18), "1"(_sc_19), "r"(_sc_20)        \
  454.             : _syscall_clobbers);                \
  455.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  456.     }                                \
  457.     _syscall_return(type);                        \
  458. }
  459.  
  460. #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
  461.       type5,arg5,type6,arg6)                     \
  462. type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6)\
  463. {                                    \
  464.     long _sc_ret, _sc_err;                        \
  465.     {                                \
  466.         register long _sc_0 __asm__("$0");            \
  467.         register long _sc_16 __asm__("$16");            \
  468.         register long _sc_17 __asm__("$17");            \
  469.         register long _sc_18 __asm__("$18");            \
  470.         register long _sc_19 __asm__("$19");            \
  471.         register long _sc_20 __asm__("$20");            \
  472.         register long _sc_21 __asm__("$21");            \
  473.                                     \
  474.         _sc_0 = __NR_##name;                    \
  475.         _sc_16 = (long) (arg1);                    \
  476.         _sc_17 = (long) (arg2);                    \
  477.         _sc_18 = (long) (arg3);                    \
  478.         _sc_19 = (long) (arg4);                    \
  479.         _sc_20 = (long) (arg5);                    \
  480.         _sc_21 = (long) (arg6);                    \
  481.         __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7 %8"        \
  482.             : "=r"(_sc_0), "=r"(_sc_19)            \
  483.             : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),        \
  484.               "r"(_sc_18), "1"(_sc_19), "r"(_sc_20), "r"(_sc_21) \
  485.             : _syscall_clobbers);                \
  486.         _sc_ret = _sc_0, _sc_err = _sc_19;            \
  487.     }                                \
  488.     _syscall_return(type);                        \
  489. }
  490.  
  491. #endif /* __LIBRARY__ && __GNUC__ */
  492.  
  493. #ifdef __KERNEL_SYSCALLS__
  494.  
  495. #include <linux/string.h>
  496. #include <linux/signal.h>
  497.  
  498. extern long __kernel_thread(unsigned long, int (*)(void *), void *);
  499.  
  500. static inline long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
  501. {
  502.     return __kernel_thread(flags | CLONE_VM, fn, arg);
  503. }
  504.  
  505. extern void sys_idle(void);
  506. static inline void idle(void)
  507. {
  508.     sys_idle();
  509. }
  510.  
  511. extern int sys_open(const char *, int, int);
  512. static inline int open(const char * name, int mode, int flags)
  513. {
  514.     return sys_open(name, mode, flags);
  515. }
  516.  
  517. extern int sys_dup(int);
  518. static inline int dup(int fd)
  519. {
  520.     return sys_dup(fd);
  521. }
  522.  
  523. static inline int close(int fd)
  524. {
  525.     return sys_close(fd);
  526. }
  527.  
  528. extern off_t sys_lseek(int, off_t, int);
  529. static inline off_t lseek(int fd, off_t off, int whense)
  530. {
  531.     return sys_lseek(fd, off, whense);
  532. }
  533.  
  534. extern int sys_exit(int);
  535. static inline int _exit(int value)
  536. {
  537.     return sys_exit(value);
  538. }
  539.  
  540. #define exit(x) _exit(x)
  541.  
  542. extern int sys_write(int, const char *, int);
  543. static inline int write(int fd, const char * buf, int nr)
  544. {
  545.     return sys_write(fd, buf, nr);
  546. }
  547.  
  548. extern int sys_read(int, char *, int);
  549. static inline int read(int fd, char * buf, int nr)
  550. {
  551.     return sys_read(fd, buf, nr);
  552. }
  553.  
  554. extern int __kernel_execve(char *, char **, char **, struct pt_regs *);
  555. static inline int execve(char * file, char ** argvp, char ** envp)
  556. {
  557.     struct pt_regs regs;
  558.     memset(®s, 0, sizeof(regs));
  559.     return __kernel_execve(file, argvp, envp, ®s);
  560. }
  561.  
  562. extern int sys_setsid(void);
  563. static inline int setsid(void)
  564. {
  565.     return sys_setsid();
  566. }
  567.  
  568. extern int sys_sync(void);
  569. static inline int sync(void)
  570. {
  571.     return sys_sync();
  572. }
  573.  
  574. extern int sys_wait4(int, int *, int, struct rusage *);
  575. static inline pid_t waitpid(int pid, int * wait_stat, int flags)
  576. {
  577.     return sys_wait4(pid, wait_stat, flags, NULL);
  578. }
  579.  
  580. static inline pid_t wait(int * wait_stat)
  581. {
  582.     return waitpid(-1,wait_stat,0);
  583. }
  584.  
  585. extern int sys_delete_module(const char *name);
  586. static inline int delete_module(const char *name)
  587. {
  588.     return sys_delete_module(name);
  589. }
  590.  
  591. #endif
  592.  
  593. #endif /* _ALPHA_UNISTD_H */
  594.